﻿namespace Leetcode.N0804;
public class Solution
{
    private static readonly string[] Keys = new[] { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." };

    public int UniqueMorseRepresentations(string[] words)
    {
        int count = 0;
        var hashset = new System.Collections.Generic.HashSet<string>();
        for (int i = 0; i < words.Length; i++)
        {
            var s = this.Encode(words[i]);
            if (hashset.Add(s))
            {
                count++;
            }
        }
        return count;
    }

    private string Encode(string word)
    {
        var s = new System.Text.StringBuilder();
        for (int i = 0; i < word.Length; i++)
        {
            s.Append(Keys[word[i] - 'a']);
        }
        return s.ToString();
    }
}
